The continuous expansion of the Internet, the expansion and sophistication of enterprise computing networks and systems, the proliferation of content stored and accessible over the Internet, and numerous other factors continues to drive the need for large sophisticated data storage systems. Consequently, as the demand for data storage continues to increase, larger and more sophisticated storage systems are being designed and deployed. Many large scale data storage systems utilize storage appliances that include arrays of storage media. These storage appliances are capable of storing incredible amounts of data. For example, at this time, Oracle's SUN ZFS Storage 7420 appliance can store over 2 petabytes of data (over 2 quadrillion bytes of data). To further increase the volume of stored data, multiple storage appliances may be networked together to form a cluster. Storage appliances arranged in a cluster may be configured to mirror data so that if one of the storage appliances becomes inoperable, the data is available at another storage location.
Further, a storage network may support snapshot-based replication of a source storage appliance on a target storage appliance for disaster recovery, data distribution, disk-to-disk backup, data migration, and the like. Snapshots are read-only copies of a file system or volume on a storage appliance. During replication, snapshots of the various file systems and volumes on the source storage appliance are generated and transferred to the target storage appliance. Data blocks corresponding to the snapshots are then transferred block by block from the source storage appliance to the target storage appliance. Replication is often a time intensive process and thus, may be susceptible to interruption. Conventionally, the replication process is restarted following an interruption by creating a new set of snapshots, with the transfer starting over from the last replication snapshot that the target received completely and accurately. However, after the interruption, large portions of this new set of snapshots may already exist on the target storage appliance. Accordingly, both the target storage appliance and the source storage appliance pay a significant cost in unneeded snapshots, data transfer, and skipping over steam contents that have already been processed.
It is with these observations in mind, among others, that various aspects of the present disclosure were conceived and developed.